import { Component, OnInit } from '@angular/core';
import { Course } from '../../model/course';
import { Student } from '../../model/Student';
import { Book } from '../../model/book';
import { CourseService } from '../../service/course.service';
import { CourseResult } from '../../model/courseresult';
import { Classroom } from '../../model/classroom';
import { Teacher } from '../teacher';

@Component({
  selector: 'app-courseindex',
  templateUrl: './courseindex.component.html',
  styleUrls: ['./courseindex.component.css']
})
export class CourseindexComponent implements OnInit {
  cl:Array<Course>
  sl:Array<Student>
  bl:Array<Book>
  ml:Array<Classroom>
  rl:Array<Teacher>
  constructor(private courseservice:CourseService) { }

  ngOnInit() {
    this.initCourse();
    this.initStudent();
    this.initBook();
    this.initClassroom();
    this.initTeacher();
  }


  initCourse(){
    this.cl = new Array();
    for(let i=0 ;i<25;i++){
     let c = new Course()
     c.id= i;
     this.cl.push(c);
    }
  }

  setCourse(searchresult:Array<CourseResult>){
    for(let x of searchresult){
      let t = new Course();
      t.classroom= x.classroom
      t.id=x.cid
      t.name= x.name
      t.student= x.student
      t.teacher= x.teacher
     this.cl[x.cid]=t;
    }
   }



//初始化班级信息
initStudent(){
  this.sl = new Array();
  this.courseservice.getStudentList().then((data:any)=>{
  this.sl= data;
 })
  }

  onStudentSelect(s:Student){
    console.dir(s);
    this.courseservice.getCourseListByParm('student',s.name).then((data:any)=>{
      console.dir(data);
      this.setCourse(data);
      })
   }


   //初始化课程信息
   initBook(){
    this.bl = new Array();
    this.courseservice.getBookList().then((data:any)=>{
    this.bl= data;
   })
  }

  onBookSelect(b:Book){
    console.dir(b);
     this.courseservice.getCourseListByParm('book',b.name).then((data:any)=>{
     console.dir(data);
    this.setCourse(data);
     })
    }

  //初始化教室信息
   initClassroom(){
    this.ml = new Array();
    this.courseservice.getClassroomList().then((data:any)=>{
    this.ml= data;
   })
  }

  onClassroomSelect(m:Classroom){
    console.dir(m);
     this.courseservice.getCourseListByParm('classroom',m.name).then((data:any)=>{
     console.dir(data);
    this.setCourse(data);
     })
    }


    //初始化教师信息
   initTeacher(){
    this.rl = new Array();
    this.courseservice.getTeacherList().then((data:any)=>{
    this.rl= data;
   })
  }

  onTeacherSelect(r:Teacher){
    console.dir(r);
     this.courseservice.getCourseListByParm('teacher',r.name).then((data:any)=>{
     console.dir(data);
    this.setCourse(data);
     })
    }


  
}
